﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using FluentValidation.Attributes;
using Nop.Admin.Validators.WindAlert;
using Nop.Web.Framework;
using Nop.Web.Framework.Localization;
using Nop.Web.Framework.Mvc;

namespace Nop.Admin.Models.WindAlert
{
    [Validator(typeof(CameraValidator))]
    public partial class CameraModel : BaseNopEntityModel, ILocalizedModel<CameraLocalizedModel>
    {
        public CameraModel()
        {
            Locales = new List<CameraLocalizedModel>();
        }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.CameraLink")]
        [AllowHtml]
        public string CameraLink { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.Sponserlink")]
        [AllowHtml]
        public string Sponserlink { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.SponserCameralink")]
        [AllowHtml]
        public string SponserCameralink { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.SponserName")]
        [AllowHtml]
        public string SponserName { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.Name")]
        [AllowHtml]
        public string Name { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.FullDescription")]
        [AllowHtml]
        public string Description { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaKeywords")]
        [AllowHtml]
        public string MetaKeywords { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaDescription")]
        [AllowHtml]
        public string MetaDescription { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaTitle")]
        [AllowHtml]
        public string MetaTitle { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.SeName")]
        [AllowHtml]
        public string SeName { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.zIndex")]
        [AllowHtml]
        public int zIndex { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.Published")]
        public bool Published { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.Deleted")]
        public bool Deleted { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.DisplayOrder")]
        public int DisplayOrder { get; set; }

        public IList<CameraLocalizedModel> Locales { get; set; }

    }

    public partial class CameraLocalizedModel : ILocalizedModelLocal
    {
        public int LanguageId { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.SponserName")]
        [AllowHtml]
        public string SponserName { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.Name")]
        [AllowHtml]
        public string Name { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.FullDescription")]
        [AllowHtml]
        public string Description { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaKeywords")]
        [AllowHtml]
        public string MetaKeywords { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaDescription")]
        [AllowHtml]
        public string MetaDescription { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.MetaTitle")]
        [AllowHtml]
        public string MetaTitle { get; set; }

        [NopResourceDisplayName("Admin.WindAlert.Cameras.Fields.SeName")]
        [AllowHtml]
        public string SeName { get; set; }
    }
}